A Formalization of the Semantics of Functional-Logic Programming in Isabelle
Identifieur interne : 003439 ( Main/Exploration ); précédent : 003438; suivant : 003440A Formalization of the Semantics of Functional-Logic Programming in Isabelle
Auteurs : Francisco L Pez Fraguas [Espagne] ; Stephan Merz [France] ; Juan Rodríguez Hortalá [Espagne]Source :
English descriptors
Abstract
Modern functional-logic programming languages like Toy or Curry feature non-strict non-deterministic functions that behave under call-time choice semantics. A standard formulation for this semantics is the CRWL logic, that specifies a proof calculus for computing the set of possible results for each expression. In this paper we present a formalization of that calculus in the Isabelle/HOL proof assistant. We have proved some basic properties of CRWL: closedness under c-substitutions, polarity and compositionality. We also discuss some insights that have been gained, such as the fact that left linearity of program rules is not needed for any of these results to hold.
Url:
Affiliations:
- Espagne, France
- Communauté de Madrid, Grand Est, Lorraine (région)
- Madrid, Nancy
- Institut national polytechnique de Lorraine, Université Nancy 2, Université complutense de Madrid, Université de Lorraine
Links toward previous steps (curation, corpus...)
- to stream Hal, to step Corpus: 000202
- to stream Hal, to step Curation: 000202
- to stream Hal, to step Checkpoint: 002A96
- to stream Main, to step Merge: 003521
- to stream Main, to step Curation: 003439
Le document en format XML
<record><TEI><teiHeader><fileDesc><titleStmt><title xml:lang="en">A Formalization of the Semantics of Functional-Logic Programming in Isabelle</title>
<author><name sortKey="L Pez Fraguas, Francisco" sort="L Pez Fraguas, Francisco" uniqKey="L Pez Fraguas F" first="Francisco" last="L Pez Fraguas">Francisco L Pez Fraguas</name>
<affiliation wicri:level="1"><hal:affiliation type="laboratory" xml:id="struct-97983" status="VALID"><orgName>Facultad de Informatica</orgName>
<desc><address><country key="ES"></country>
</address>
</desc>
<listRelation><relation active="#struct-364203" type="direct"></relation>
</listRelation>
<tutelles><tutelle active="#struct-364203" type="direct"><org type="institution" xml:id="struct-364203" status="INCOMING"><orgName>Universidad Complutense de Madrid</orgName>
<desc><address><country key="FR"></country>
</address>
</desc>
</org>
</tutelle>
</tutelles>
</hal:affiliation>
<country>Espagne</country>
<placeName><settlement type="city">Madrid</settlement>
<region nuts="2" type="region">Communauté de Madrid</region>
</placeName>
<orgName type="university">Université complutense de Madrid</orgName>
</affiliation>
</author>
<author><name sortKey="Merz, Stephan" sort="Merz, Stephan" uniqKey="Merz S" first="Stephan" last="Merz">Stephan Merz</name>
<affiliation wicri:level="1"><hal:affiliation type="researchteam" xml:id="struct-2357" status="OLD"><idno type="RNSR">200418303G</idno>
<orgName>Proof-oriented development of computer-based systems</orgName>
<orgName type="acronym">MOSEL</orgName>
<desc><address><country key="FR"></country>
</address>
<ref type="url">http://www.inria.fr/equipes/mosel</ref>
</desc>
<listRelation><relation active="#struct-160" type="direct"></relation>
<relation name="UMR7503" active="#struct-441569" type="indirect"></relation>
<relation active="#struct-300009" type="indirect"></relation>
<relation active="#struct-300291" type="indirect"></relation>
<relation active="#struct-300292" type="indirect"></relation>
<relation active="#struct-300293" type="indirect"></relation>
<relation active="#struct-2496" type="direct"></relation>
</listRelation>
<tutelles><tutelle active="#struct-160" type="direct"><org type="laboratory" xml:id="struct-160" status="OLD"><orgName>Laboratoire Lorrain de Recherche en Informatique et ses Applications</orgName>
<orgName type="acronym">LORIA</orgName>
<desc><address><addrLine>Campus Scientifique BP 239 54506 Vandoeuvre-lès-Nancy Cedex</addrLine>
<country key="FR"></country>
</address>
<ref type="url">http://www.loria.fr</ref>
</desc>
<listRelation><relation name="UMR7503" active="#struct-441569" type="direct"></relation>
<relation active="#struct-300009" type="direct"></relation>
<relation active="#struct-300291" type="direct"></relation>
<relation active="#struct-300292" type="direct"></relation>
<relation active="#struct-300293" type="direct"></relation>
</listRelation>
</org>
</tutelle>
<tutelle name="UMR7503" active="#struct-441569" type="indirect"><org type="institution" xml:id="struct-441569" status="VALID"><idno type="ISNI">0000000122597504</idno>
<idno type="IdRef">02636817X</idno>
<orgName>Centre National de la Recherche Scientifique</orgName>
<orgName type="acronym">CNRS</orgName>
<date type="start">1939-10-19</date>
<desc><address><country key="FR"></country>
</address>
<ref type="url">http://www.cnrs.fr/</ref>
</desc>
</org>
</tutelle>
<tutelle active="#struct-300009" type="indirect"><org type="institution" xml:id="struct-300009" status="VALID"><orgName>Institut National de Recherche en Informatique et en Automatique</orgName>
<orgName type="acronym">Inria</orgName>
<desc><address><addrLine>Domaine de VoluceauRocquencourt - BP 10578153 Le Chesnay Cedex</addrLine>
<country key="FR"></country>
</address>
<ref type="url">http://www.inria.fr/en/</ref>
</desc>
</org>
</tutelle>
<tutelle active="#struct-300291" type="indirect"><org type="institution" xml:id="struct-300291" status="OLD"><orgName>Université Henri Poincaré - Nancy 1</orgName>
<orgName type="acronym">UHP</orgName>
<date type="end">2011-12-31</date>
<desc><address><addrLine>24-30 rue Lionnois, BP 60120, 54 003 NANCY cedex, France</addrLine>
<country key="FR"></country>
</address>
</desc>
</org>
</tutelle>
<tutelle active="#struct-300292" type="indirect"><org type="institution" xml:id="struct-300292" status="OLD"><orgName>Université Nancy 2</orgName>
<date type="end">2011-12-31</date>
<desc><address><addrLine>91 avenue de la Libération, BP 454, 54001 Nancy cedex</addrLine>
<country key="FR"></country>
</address>
</desc>
</org>
</tutelle>
<tutelle active="#struct-300293" type="indirect"><org type="institution" xml:id="struct-300293" status="OLD"><orgName>Institut National Polytechnique de Lorraine</orgName>
<orgName type="acronym">INPL</orgName>
<date type="end">2011-12-31</date>
<desc><address><country key="FR"></country>
</address>
</desc>
</org>
</tutelle>
<tutelle active="#struct-2496" type="direct"><org type="laboratory" xml:id="struct-2496" status="OLD"><orgName>INRIA Lorraine</orgName>
<desc><address><addrLine>615 rue du Jardin Botanique 54600 Villers-lès-Nancy</addrLine>
<country key="FR"></country>
</address>
<ref type="url">http://www.inria.fr/centre-de-recherche-inria/nancy-grand-est</ref>
</desc>
<listRelation><relation active="#struct-300009" type="direct"></relation>
</listRelation>
</org>
</tutelle>
</tutelles>
</hal:affiliation>
<country>France</country>
<placeName><settlement type="city">Nancy</settlement>
<region type="region" nuts="2">Grand Est</region>
<region type="old region" nuts="2">Lorraine (région)</region>
</placeName>
<orgName type="university">Université Nancy 2</orgName>
<orgName type="institution" wicri:auto="newGroup">Université de Lorraine</orgName>
<placeName><settlement type="city">Nancy</settlement>
<region type="region" nuts="2">Grand Est</region>
<region type="old region" nuts="2">Lorraine (région)</region>
</placeName>
<orgName type="university">Institut national polytechnique de Lorraine</orgName>
<orgName type="institution" wicri:auto="newGroup">Université de Lorraine</orgName>
</affiliation>
</author>
<author><name sortKey="Rodriguez Hortala, Juan" sort="Rodriguez Hortala, Juan" uniqKey="Rodriguez Hortala J" first="Juan" last="Rodríguez Hortalá">Juan Rodríguez Hortalá</name>
<affiliation wicri:level="1"><hal:affiliation type="laboratory" xml:id="struct-97983" status="VALID"><orgName>Facultad de Informatica</orgName>
<desc><address><country key="ES"></country>
</address>
</desc>
<listRelation><relation active="#struct-364203" type="direct"></relation>
</listRelation>
<tutelles><tutelle active="#struct-364203" type="direct"><org type="institution" xml:id="struct-364203" status="INCOMING"><orgName>Universidad Complutense de Madrid</orgName>
<desc><address><country key="FR"></country>
</address>
</desc>
</org>
</tutelle>
</tutelles>
</hal:affiliation>
<country>Espagne</country>
<placeName><settlement type="city">Madrid</settlement>
<region nuts="2" type="region">Communauté de Madrid</region>
</placeName>
<orgName type="university">Université complutense de Madrid</orgName>
</affiliation>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">HAL</idno>
<idno type="RBID">Hal:inria-00408964</idno>
<idno type="halId">inria-00408964</idno>
<idno type="halUri">https://hal.inria.fr/inria-00408964</idno>
<idno type="url">https://hal.inria.fr/inria-00408964</idno>
<date when="2009-08-17">2009-08-17</date>
<idno type="wicri:Area/Hal/Corpus">000202</idno>
<idno type="wicri:Area/Hal/Curation">000202</idno>
<idno type="wicri:Area/Hal/Checkpoint">002A96</idno>
<idno type="wicri:explorRef" wicri:stream="Hal" wicri:step="Checkpoint">002A96</idno>
<idno type="wicri:Area/Main/Merge">003521</idno>
<idno type="wicri:Area/Main/Curation">003439</idno>
<idno type="wicri:Area/Main/Exploration">003439</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title xml:lang="en">A Formalization of the Semantics of Functional-Logic Programming in Isabelle</title>
<author><name sortKey="L Pez Fraguas, Francisco" sort="L Pez Fraguas, Francisco" uniqKey="L Pez Fraguas F" first="Francisco" last="L Pez Fraguas">Francisco L Pez Fraguas</name>
<affiliation wicri:level="1"><hal:affiliation type="laboratory" xml:id="struct-97983" status="VALID"><orgName>Facultad de Informatica</orgName>
<desc><address><country key="ES"></country>
</address>
</desc>
<listRelation><relation active="#struct-364203" type="direct"></relation>
</listRelation>
<tutelles><tutelle active="#struct-364203" type="direct"><org type="institution" xml:id="struct-364203" status="INCOMING"><orgName>Universidad Complutense de Madrid</orgName>
<desc><address><country key="FR"></country>
</address>
</desc>
</org>
</tutelle>
</tutelles>
</hal:affiliation>
<country>Espagne</country>
<placeName><settlement type="city">Madrid</settlement>
<region nuts="2" type="region">Communauté de Madrid</region>
</placeName>
<orgName type="university">Université complutense de Madrid</orgName>
</affiliation>
</author>
<author><name sortKey="Merz, Stephan" sort="Merz, Stephan" uniqKey="Merz S" first="Stephan" last="Merz">Stephan Merz</name>
<affiliation wicri:level="1"><hal:affiliation type="researchteam" xml:id="struct-2357" status="OLD"><idno type="RNSR">200418303G</idno>
<orgName>Proof-oriented development of computer-based systems</orgName>
<orgName type="acronym">MOSEL</orgName>
<desc><address><country key="FR"></country>
</address>
<ref type="url">http://www.inria.fr/equipes/mosel</ref>
</desc>
<listRelation><relation active="#struct-160" type="direct"></relation>
<relation name="UMR7503" active="#struct-441569" type="indirect"></relation>
<relation active="#struct-300009" type="indirect"></relation>
<relation active="#struct-300291" type="indirect"></relation>
<relation active="#struct-300292" type="indirect"></relation>
<relation active="#struct-300293" type="indirect"></relation>
<relation active="#struct-2496" type="direct"></relation>
</listRelation>
<tutelles><tutelle active="#struct-160" type="direct"><org type="laboratory" xml:id="struct-160" status="OLD"><orgName>Laboratoire Lorrain de Recherche en Informatique et ses Applications</orgName>
<orgName type="acronym">LORIA</orgName>
<desc><address><addrLine>Campus Scientifique BP 239 54506 Vandoeuvre-lès-Nancy Cedex</addrLine>
<country key="FR"></country>
</address>
<ref type="url">http://www.loria.fr</ref>
</desc>
<listRelation><relation name="UMR7503" active="#struct-441569" type="direct"></relation>
<relation active="#struct-300009" type="direct"></relation>
<relation active="#struct-300291" type="direct"></relation>
<relation active="#struct-300292" type="direct"></relation>
<relation active="#struct-300293" type="direct"></relation>
</listRelation>
</org>
</tutelle>
<tutelle name="UMR7503" active="#struct-441569" type="indirect"><org type="institution" xml:id="struct-441569" status="VALID"><idno type="ISNI">0000000122597504</idno>
<idno type="IdRef">02636817X</idno>
<orgName>Centre National de la Recherche Scientifique</orgName>
<orgName type="acronym">CNRS</orgName>
<date type="start">1939-10-19</date>
<desc><address><country key="FR"></country>
</address>
<ref type="url">http://www.cnrs.fr/</ref>
</desc>
</org>
</tutelle>
<tutelle active="#struct-300009" type="indirect"><org type="institution" xml:id="struct-300009" status="VALID"><orgName>Institut National de Recherche en Informatique et en Automatique</orgName>
<orgName type="acronym">Inria</orgName>
<desc><address><addrLine>Domaine de VoluceauRocquencourt - BP 10578153 Le Chesnay Cedex</addrLine>
<country key="FR"></country>
</address>
<ref type="url">http://www.inria.fr/en/</ref>
</desc>
</org>
</tutelle>
<tutelle active="#struct-300291" type="indirect"><org type="institution" xml:id="struct-300291" status="OLD"><orgName>Université Henri Poincaré - Nancy 1</orgName>
<orgName type="acronym">UHP</orgName>
<date type="end">2011-12-31</date>
<desc><address><addrLine>24-30 rue Lionnois, BP 60120, 54 003 NANCY cedex, France</addrLine>
<country key="FR"></country>
</address>
</desc>
</org>
</tutelle>
<tutelle active="#struct-300292" type="indirect"><org type="institution" xml:id="struct-300292" status="OLD"><orgName>Université Nancy 2</orgName>
<date type="end">2011-12-31</date>
<desc><address><addrLine>91 avenue de la Libération, BP 454, 54001 Nancy cedex</addrLine>
<country key="FR"></country>
</address>
</desc>
</org>
</tutelle>
<tutelle active="#struct-300293" type="indirect"><org type="institution" xml:id="struct-300293" status="OLD"><orgName>Institut National Polytechnique de Lorraine</orgName>
<orgName type="acronym">INPL</orgName>
<date type="end">2011-12-31</date>
<desc><address><country key="FR"></country>
</address>
</desc>
</org>
</tutelle>
<tutelle active="#struct-2496" type="direct"><org type="laboratory" xml:id="struct-2496" status="OLD"><orgName>INRIA Lorraine</orgName>
<desc><address><addrLine>615 rue du Jardin Botanique 54600 Villers-lès-Nancy</addrLine>
<country key="FR"></country>
</address>
<ref type="url">http://www.inria.fr/centre-de-recherche-inria/nancy-grand-est</ref>
</desc>
<listRelation><relation active="#struct-300009" type="direct"></relation>
</listRelation>
</org>
</tutelle>
</tutelles>
</hal:affiliation>
<country>France</country>
<placeName><settlement type="city">Nancy</settlement>
<region type="region" nuts="2">Grand Est</region>
<region type="old region" nuts="2">Lorraine (région)</region>
</placeName>
<orgName type="university">Université Nancy 2</orgName>
<orgName type="institution" wicri:auto="newGroup">Université de Lorraine</orgName>
<placeName><settlement type="city">Nancy</settlement>
<region type="region" nuts="2">Grand Est</region>
<region type="old region" nuts="2">Lorraine (région)</region>
</placeName>
<orgName type="university">Institut national polytechnique de Lorraine</orgName>
<orgName type="institution" wicri:auto="newGroup">Université de Lorraine</orgName>
</affiliation>
</author>
<author><name sortKey="Rodriguez Hortala, Juan" sort="Rodriguez Hortala, Juan" uniqKey="Rodriguez Hortala J" first="Juan" last="Rodríguez Hortalá">Juan Rodríguez Hortalá</name>
<affiliation wicri:level="1"><hal:affiliation type="laboratory" xml:id="struct-97983" status="VALID"><orgName>Facultad de Informatica</orgName>
<desc><address><country key="ES"></country>
</address>
</desc>
<listRelation><relation active="#struct-364203" type="direct"></relation>
</listRelation>
<tutelles><tutelle active="#struct-364203" type="direct"><org type="institution" xml:id="struct-364203" status="INCOMING"><orgName>Universidad Complutense de Madrid</orgName>
<desc><address><country key="FR"></country>
</address>
</desc>
</org>
</tutelle>
</tutelles>
</hal:affiliation>
<country>Espagne</country>
<placeName><settlement type="city">Madrid</settlement>
<region nuts="2" type="region">Communauté de Madrid</region>
</placeName>
<orgName type="university">Université complutense de Madrid</orgName>
</affiliation>
</author>
</analytic>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc><textClass><keywords scheme="mix" xml:lang="en"><term>CRWL logic</term>
<term>Isabelle</term>
<term>functional-logic programming</term>
<term>higher-order logic</term>
<term>theorem proving</term>
</keywords>
</textClass>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en">Modern functional-logic programming languages like Toy or Curry feature non-strict non-deterministic functions that behave under call-time choice semantics. A standard formulation for this semantics is the CRWL logic, that specifies a proof calculus for computing the set of possible results for each expression. In this paper we present a formalization of that calculus in the Isabelle/HOL proof assistant. We have proved some basic properties of CRWL: closedness under c-substitutions, polarity and compositionality. We also discuss some insights that have been gained, such as the fact that left linearity of program rules is not needed for any of these results to hold.</div>
</front>
</TEI>
<affiliations><list><country><li>Espagne</li>
<li>France</li>
</country>
<region><li>Communauté de Madrid</li>
<li>Grand Est</li>
<li>Lorraine (région)</li>
</region>
<settlement><li>Madrid</li>
<li>Nancy</li>
</settlement>
<orgName><li>Institut national polytechnique de Lorraine</li>
<li>Université Nancy 2</li>
<li>Université complutense de Madrid</li>
<li>Université de Lorraine</li>
</orgName>
</list>
<tree><country name="Espagne"><region name="Communauté de Madrid"><name sortKey="L Pez Fraguas, Francisco" sort="L Pez Fraguas, Francisco" uniqKey="L Pez Fraguas F" first="Francisco" last="L Pez Fraguas">Francisco L Pez Fraguas</name>
</region>
<name sortKey="Rodriguez Hortala, Juan" sort="Rodriguez Hortala, Juan" uniqKey="Rodriguez Hortala J" first="Juan" last="Rodríguez Hortalá">Juan Rodríguez Hortalá</name>
</country>
<country name="France"><region name="Grand Est"><name sortKey="Merz, Stephan" sort="Merz, Stephan" uniqKey="Merz S" first="Stephan" last="Merz">Stephan Merz</name>
</region>
</country>
</tree>
</affiliations>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Wicri/Lorraine/explor/InforLorV4/Data/Main/Exploration
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 003439 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Main/Exploration/biblio.hfd -nk 003439 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Wicri/Lorraine |area= InforLorV4 |flux= Main |étape= Exploration |type= RBID |clé= Hal:inria-00408964 |texte= A Formalization of the Semantics of Functional-Logic Programming in Isabelle }}
This area was generated with Dilib version V0.6.33. |